package com.dhcc.bpm.modules.scf.vo.ScfPaymentInfoVO;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 支付回单信息列表查询视图层实体类
 */
@Data
public class ScfGetPaymentListVO {
    /**
     * 主体主键
     */
    private String rowId;
    /**
     * 回单交易流水号-一个回单可能对应多个入库
     */
    private String paymentNum;
    /**
     * 回单类型：1收款回单 2付款回单
     */
    private String paymentType;
    /**
     * 付款人户名
     */
    private String payerName;
    /**
     * 收款人户名
     */
    private String payeeName;
    /**
     * 交易金额
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal amount;
    /**
     * 交易时间
     */
    private String payTime;
    /**
     * 剩余金额
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal remainAmount;

    /**
     * 完税信息详情页 - 支付回单设剩余金额
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal remainingAmount;
    /**
     * 使用状态 // 设置初始使用状态为暂未使用(0:暂未使用，1：部分使用，2：全部使用)
     */
    private String useSts;
    /**
     * 是否提前付款
     */
    private String isAdvancePayment;
    /**
     * 是否关联发票（暂未关联、部分关联、关联完成）
     */
    private String isWithInvoice;
    /**
     * 录入人
     */
    private String recorder;
    /**
     * 录入日期
     */
    private String recordDate;
    /**
     * 录入时间
     */
    private String recordTime;

    private String useAmount;


    /**
     * 物流管理使用的 ==剩余金额 ZSRK_REMAIN_AMOUNT
     */
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal zsrkRemainAmount;


    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal lfrkRemainAmount;


    //未核销金额
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal notHexiaoAmount;

    //未开票金额
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal notKaipiaoAmount;
    @JsonSerialize(using = ToStringSerializer.class, nullsUsing = NullSerializer.class)
    private BigDecimal visualAmount;

    //    税务主键
    private String invoiceRowId;
    //    支付主键
    private String paymentRowId;


}
